From: Owen W. Taylor Date: Tue, 18 May 2010 23:13:56 +0000 (-0400) Subject: [perf] Include monitor layout in performance reports X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10047 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e7220591ba093950f63297ef26a01310186fbd07;p=gnome-shell.git [perf] Include monitor layout in performance reports Add extra key, 'monitors' to performance reports which is an array of strings: *x++ Where * marks the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=618189 --- diff --git a/js/ui/scripting.js b/js/ui/scripting.js index 07da7649d..0addd5424 100644 --- a/js/ui/scripting.js +++ b/js/ui/scripting.js @@ -148,6 +148,23 @@ function _collect(scriptModule, outputFile) { Shell.write_string_to_stream(out, '"events":\n'); Shell.PerfLog.get_default().dump_events(out); + let monitors = global.get_monitors() + let primary = global.get_primary_monitor() + Shell.write_string_to_stream(out, ',\n"monitors":\n['); + for (let i = 0; i < monitors.length; i++) { + let monitor = monitors[i]; + let is_primary = (monitor.x == primary.x && + monitor.y == primary.y && + monitor.width == primary.width && + monitor.height == primary.height); + if (i != 0) + Shell.write_string_to_stream(out, ', '); + Shell.write_string_to_stream(out, '"%s%dx%d+%d+%d"'.format(is_primary ? "*" : "", + monitor.width, monitor.height, + monitor.x, monitor.y)); + } + Shell.write_string_to_stream(out, ' ]'); + Shell.write_string_to_stream(out, ',\n"metrics":\n[ '); let first = true; for (let name in scriptModule.METRICS) { diff --git a/src/gnome-shell.in b/src/gnome-shell.in index a0d23c9b5..a1998c061 100644 --- a/src/gnome-shell.in +++ b/src/gnome-shell.in @@ -313,9 +313,10 @@ def run_performance_test(): finally: os.remove(output_file) - # Grab the event definitions the first time around + # Grab the event definitions and monitor layout the first time around if i == 0: events = output['events'] + monitors = output['monitors'] if options.perf_warmup and i == 0: continue @@ -344,6 +345,7 @@ def run_performance_test(): report = { 'date': datetime.datetime.now().isoformat(), 'events': events, + 'monitors': monitors, 'metrics': metric_summaries, 'logs': logs }